Distributed data processing is a form of information processing in which workload is performed by separate computers linked through a communication network. One form of distributed data processing which is currently widely used is dynamic workload balancing in a message driven transaction environment. Such message driven environments are described in U.S. Pat. No. 5,799,173, filed on May 21, 1997, and in the text, Production Workflow, Concepts and Techniques, Frank Leymann et al., published 2000, Prentice Hall, New Jersey, particularly at pp. 319–338. In a message driven transaction environment, communication between the user who initiates the transaction on a client computer and the computer systems to which portions of the transaction are dynamically distributed for performance or execution is based upon messages put into sequences of queues. A message may be considered to be a service request or a reply distributed and allocated via a server computer.
In a typical dynamic workload balancing system or process, a user on a client computer initiates a data transaction or sequence of transactions. The initiation data is sent to a server computer or a set of server computers that will create the transactions, and which are linked to other computer systems which in turn may be individual computers or servers respectively connected to other sets of computers. A data transaction for purposes of the present description is defined as a discrete activity performed by a computer system. A transaction may be as simple as the entry of a customer order or the update of an inventory item. It may be as complex as a substantial portion of a computer program or routine. In message driven transaction environments, as in the present invention, the transactions are distributed or divided into messages which are allocated through queues and sequences of queues to linked computers or computer systems for message execution or performance. The International Business Machines Corporation (IBM) MQSeries™ application programs, e.g. the MQSeries for WindowsNT™, is described in the above Leymann et al. text at pp. 320–338. The primary advantage of workload balancing systems such as the MQSeries is that the system can operate to distribute and balance workload on computer systems operating on multiple platforms, e.g. in the case of the MQSeries, up to 35 different platforms. The workload is allocated via message queues so that the whole balancing and allocation is transparent to the initiating user and his input workload appears to be operating as if it were being done on an individual computer. All of the networking protocols in the distribution and message allocation needed to complete user input transaction requests are invisible to the user.
The advantage to the user is that the user need not be concerned with all of the networking protocols, nodes and channels which must be traversed in the workload distribution, since this is seamlessly, automatically and dynamically done by the workload balancing algorithm. This leaves the operator/user free to concentrate on the business and production problems involved in the work. While this advantage is certainly considerable, we have found that transparentness of the workload balancing operation do provide problems to workload balancing system administrators in the case where messages are delayed or even lost in distribution and allocation. In current workload balancing systems, there is no user friendly process for tracking lost or delayed messages. In current workload balancing systems, it is necessary for system administrators to go to each queue manager's queue on any computer system that could have possibly received a message from the workload messages. Even then, if the administrator is trying to track an individual message's route, the task is made particularly difficult if the message has for some reason been removed from the message queue at any particular point.
In this connection, if we conceive a workload distribution network with a hierarchy of several levels of computer systems with appropriate servers having queue manager's queues, and, in some cases, even intermediate Internet channels or connections, the difficulty of tracking becomes even more apparent.